package com.ztgf.order.models.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.ztgf.order.models.bo.OrderShopStatisticsBO;
import com.ztgf.order.models.bo.OrderStatisticsBO;
import com.ztgf.order.models.vo.OrderSalesCategoryNewVO;
import com.ztgf.order.models.vo.OrderSalesCategoryShopVO;
import com.ztgf.order.models.vo.OrderSalesCategoryVO;

import java.util.List;

/**
 * author: chenyu.wang
 * date: 2020-07-22 15:47
 * Description: 订单销量统计服务
 */
public interface IOrderSalesStatisticsService {

    /**
     * description: 查询订单今日销售总额
     * param: [bo]
     * author: chenyu.wang
     * date: 2020-07-22
     * return: java.math.BigDecimal
     */
    String queryOrderSalesToDay(OrderStatisticsBO bo);

    /**
     * description: 查询订单交易总额
     * param: [bo]
     * author: chenyu.wang
     * date: 2020-07-22
     * return: java.math.BigDecimal
     */
    String queryOrderDealCount(OrderStatisticsBO bo);


    /**
     * description: 各类目整体销售额统计
     * param: [bo]
     * author: chenyu.wang
     * date: 2020-07-22
     * return: java.util.List<com.ztgf.order.models.vo.OrderSalesCategoryVO>
     */
    Page<OrderSalesCategoryNewVO> queryOrderSalesCategory(OrderStatisticsBO bo);

    /**
     * description: 各类目店铺销售额统计
     * param: [bo]
     * author: chenyu.wang
     * date: 2020-07-22
     * return: com.baomidou.mybatisplus.plugins.Page<com.ztgf.order.models.vo.OrderSalesCategoryShopVO>
     */
    Page<OrderSalesCategoryShopVO> queryOrderVariousShopItems(OrderShopStatisticsBO bo);

    /**
     * @Description: 新的各类目订单销量统计，有的类目才显示
     * @Author: chenyu.wang
     * @Params: [bo]
     * @Date: 2020.12.27 22:31
     */
    Page<OrderSalesCategoryNewVO> queryNewOrderSalesCount(OrderStatisticsBO bo);
}
